home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
ABUSESRC.ZIP
/
AbuseSrc
/
macabuse
/
inc
/
specache.hpp
< prev
next >
Wrap
C/C++ Source or Header
|
1997-05-20
|
1KB
|
44 lines
#ifndef __SPECACHE_HPP_
#define __SPECACHE_HPP_
#include "specs.hpp"
class spec_directory_cache
{
class filename_node
{
public :
filename_node *left,*right,*next;
char *fn;
spec_directory *sd;
char *filename() { return fn; }
filename_node(char *filename, spec_directory *dir)
{
fn=(char *)memcpy(jmalloc(strlen(filename)+1,"spec_dir cache"),filename,strlen(filename)+1);
sd=dir;
next=left=right=0;
}
~filename_node()
{
jfree(fn);
delete sd;
}
long size;
} *fn_root,*fn_list;
void clear(filename_node *f); // private recursive member
long size;
public :
spec_directory *get_spec_directory(char *filename, bFILE *fp=NULL);
spec_directory_cache() { fn_root=0; size=0; }
void clear(); // frees up all allocated memory
void load(bFILE *fp);
void save(bFILE *fp);
~spec_directory_cache() { clear(); }
} ;
extern spec_directory_cache sd_cache;
#endif